package cn.myjerry.others.synread;

import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 制度设置
 * 1、emptyXxx()   =>   空的不可变的集合 
 *   emptyList()
 *   emptyMap()
 *   emptySet()
 * 2、singletonXxx()   =>   一个元素不可变的集合
 *   singletonList()
 *   singletonMap()
 *   singletonSet()
 * 3、unmodifiableXxx()   =>   不可变容器
 *   unmodifiableList()
 *   unmodifiableMap()
 *   unmodifiableSet()
 * @author Jerry
 *
 */

public class Demo02 {

	public static void main(String[] args) {
		Map<String, String> map = new HashMap<String, String>();
		map.put("test", "test");
		map.put("myjerry", "myjerry");
		//制度控制
		Map<String, String> map1 =  Collections.unmodifiableMap(map);
		//map1.put("a", "a");   //不能操作
		System.out.println(map1.size());
		
		//一个元素的容器测试
		List<String> list = Collections.singletonList(new String());
		//list.add("a");
		//list.add("b");   //只能包含一个元素的容器
		System.out.println(list.size());
		
	}
	public static Set<String> test(Set<String> set){
		if(null == set){
			return Collections.EMPTY_SET;	//外部获取避免空指针
		}
		//操作完
		return set;
	}
}
